'use strict'
var s= "abba"//cdd
var brr = [];
//字符串为空时
// if(s===undefined || s===''){
//     return 0;
// }else if(s.length===1){
//     return 1;
// }
//字符串不为空，且长度大于1时
//截取相同的字符串到数组中，但最先最后的无重复字符串无法获取
for (let i = 0; i < s.length; i++) {
    for (let j = i+1; j < s.length; j++) {
        if(s[i]===s[j]){
            brr.push([i,j])//截取相同字符串的下标
            break;
        }
        
    }
    
}
console.log(brr);
if(brr.length>0){
    //当brr不为空时（存有无重复字符串时）
    //判断当截取长度大于4的字符串中是否有重复字符串
    if (brr.length>1) {
        for (let i = 0; i < brr.length-1; i++) {
            for (let j = i+1; j < brr.length; j++) {
                if (brr[i][0]<brr[j][0] && brr[i][1]>brr[j][1]) {
                    brr.splice(i,1)
                    break;
                }
            }
        }
    }
    console.log(brr);
    let crr = []
    // let drr = []
    let max
    //拿到最前端的无重复字符串
    let start = brr[0][1]
    // drr.push([0,start,"start"])
    crr.push(start)
    console.log("strat is "+start);
    //拿到最后端的无重复字符串  
    let end = s.length-brr[brr.length-1][0]-1
    // drr.push([brr[brr.length-1][0],s.length,"end"])
    crr.push(end)
    console.log("end is "+end);

    //这是拿到无重复字符串的长度
    for (let i = 0; i < brr.length; i++) {
        let a = brr[i][1]-brr[i][0]
        crr.push(a)
    }
    //这是拿到两个无重复相邻字符串间距，例：aabcc 拿到abc的长度
    if(brr.length>=2){
        for (let i = 0; i < brr.length-1; i++){
        let b = brr[i+1][1]-brr[i][0]-1
        crr.push(b)
        }   
    }
    console.log(crr);
    //开始比较crr数组中的最大值
    max = crr[0]
    console.log(max);
    for(let i = 1; i<crr.length; i++){
        if (max<crr[i]) {
            max=crr[i]
        }
    }
    // console.log(crr);
    console.log("结果是"+max) 
}else{
    //当无截取到重复字符串时，直接输出
    console.log(max) 
}